package file.it.demo;

import java.io.File;

public class Test1 {
    public static void main(String[] args) {
        // 目标：删除非空文件夹，独立功能独立成方法
        File dir = new File("D:\\soft\\秘密");

//        System.out.println(dir.delete()); // 只能删空文件夹

    }

    public static void deleteDir(File dir) {
        if (dir == null || !dir.exists()) {
            return;
        }


        if (dir.isFile()) {
            // 是文件 直接删除
            dir.delete();
            return;
        }

        //1. dir存在且是文件夹，拿里面的一级文件对象
        File[] files = dir.listFiles();
        if (files == null) {
            return;
        }

        if (files.length==0) {
            dir.delete();
            return;
        }

        // 2.这是一个有内容的文件夹，先删掉里面的内容，再删掉自己
        for (File file : files) {
            if (file.isFile()){
                // 是文件 直接删除
                file.delete();
            } else {
                // 是文件夹
                deleteDir(file);  // 递归循环
            }
        }
        dir.delete(); // 删掉自己
    }
}
